package com.oceansoft.mobile.econsole.modules.apps.persistence;

import com.oceansoft.mobile.econsole.modules.apps.entity.AppVersion;
import com.oceansoft.mobile.econsole.modules.base.entity.Query;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 应用版本管理数据库接口
 *
 * @author: chenw
 * @time: 2014-4-30 下午 13:43
 */
@Repository("versionMapper")
public interface IAppVersionMapper {

    /**
     * 分页加载
     *
     * @param query
     * @return
     */
    public List<AppVersion> findVersionByPage(Query query);

    /**
     * 加载最新版本信息
     *
     * @param appId       应用ID
     * @param versionCode 客户端版本号
     * @return AppVersion
     */
    List<AppVersion> loadLastVersion(int appId, int versionCode);
    
    /**
     * 加载ios最新版本信息
     *
     * @return AppVersion
     */
    List<AppVersion> loadIosLastVersion();

    /**
     * 加载全部版本历史信息
     *
     * @param appId 应用ID
     * @return ist<AppVersion>
     */
    List<AppVersion> loadVersionHistory(int appId);

    /**
     * 保存应用版本信息
     *
     * @param appVersion 应用程序版本信息
     * @return int >1 保存成功 反之失败
     */
    int save(AppVersion appVersion);
}
